<?php

	require_once(dirname(__FILE__)."/../core/safeParam.php");
	
	$nombreCarrito = "CD351";
	$objetoCarrito = null;
	
	class carrito{	
				
		//Variables de los items		
  		var $productos;
  		var $total;
  		var $index;
  		
  		
  		/*		CONSTRUCTOR			*/
		function carrito(){
			$this->productos			= array();
    		$this->total				= 0;
    		$this->index				= 0;
		}
		
		
		
		/*		AGREGAR UN PRODUCTO AL CARRITO	*/		
  		function addProducto($producto){
  			$pos = $this->isAt($producto);
  			
  			if($pos == -1){
  				$this->productos[] = $producto;
  				$this->index++;
  			} else {
  				$this->productos[$pos]->cantidad += $producto->cantidad;
  			}  			
  		}
		
		
		
		/*		ELIMINAR UN PRODUCTO				*/
  		function delProducto($productoId){
  			$productosTemporales = array();
  			
  			for($i=0; $i< count($this->productos); $i++){
				if(isset($this->productos[$i])){
					if($this->productos[$i]->productoId == $productoId){
						continue;
					} else {
						$productosTemporales[] = $this->productos[$i];
					}  			
  				}
  			}
  			
  			$this->productos = $productosTemporales;
  		}
  		
  		
  		/*			VACIAR TODO EL CARRITO		*/
  		function emptyCarrito(){
  			unset($this->productos);
  			$this->productos = array();
  			$this->total = 0;
  			$this->index = 0;
  		}
		
		
		
		/*		ESTÁ EN LA POSICIÓN  X DEL CARRITO	*/
		function isAt($productoTemporal){
  			for($i=0; $i< count($this->productos); $i++){
  				if(isset($this->productos[$i])){
  					if($this->productos[$i]->productoId == $productoTemporal->productoId){
  						return $i;
  					}
  				}	
  			}
  			
  			return -1;
  		}
  			
  		
  		
  		/*		CALCULAR TOTAL		*/
  		function getTotal(){
    		$this->total = 0;
    		for ($i=0; $i< count($this->productos); $i++) {
      		if (isset($this->productos[$i])) {
        			$this->total += $this->productos[$i]->getSubTotal();
      		}
    		}
    		
    		return $this->total;
  		}
		
		
  		
  		/*		INFORMACIÓN DEL CARRITO PARA GUARDAR Y REPETIR PEDIDO*/
  		function getContenidoCarrito(){
  			$carritoTemporal = array();
  			
  			for ($i=0; $i< count($this->productos); $i++) {
  				if (isset($this->productos[$i])) {
  					$carritoTemporal[$i]['id'] 	= $this->productos[$i]->productoId;
  					$carritoTemporal[$i]['cant']	= $this->productos[$i]->cantidad;
  				}
  			}
  			
  			return $carritoTemporal;
  		}
  		
  		
  		
  		function printCarrito(){
  			$contenido = '			
			<script>
  				$(function() {
    				$( document ).tooltip();
  				});
  			</script>
  			
			<script>
				function delProducto(id){
					$.ajax({
						url	: "sites.php",
						type	: "POST",
						data	: "funcion=delProducto&productoId="+ id,
													
						success: function(respuesta){
							$("#cart").html(respuesta);
						}
					});				
				}
  			</script>
  			
  			<!--[if gte IE 9]>
  				<style type="text/css">
    				.gradient {
       				filter: none;
    				}
  				</style>
			<![endif]-->
  			
  			<div class="headerCarrito">
  				<h3>
  					Tu pedido
  				</h3>		
  			</div>	
  			';
  			
  			if(!isset($this->productos[0])){
  				$contenido .='
  				<div class="celdaProducto">
  					<h4>
  						No añadiste ningún producto a tu pedido.
  					</h4>
  				</div>
  				';
  			} else {
  				$contenido .='
  				<div class="celdaProducto">
  					<table border="0" cellpadding="0" cellspacing="0">
  						<tr>
  							<td>
  							</td>
  							
  							<td width="40%">
  								<b>Nombre</b>
  							</td>
  							
  							<td>
  								<b>Precio</b>
  							</td>
  							
  							<td>
  								<b>Cant.</b>
  							</td>
  						</tr>
  				';
  				
  				for($i=0; $i< count($this->productos); $i++) {
  					
  					$contenido .='
  						<tr>
  							<td>
  								<a onclick="delProducto('. $this->productos[$i]->productoId .')" title="Eliminar producto">
	  								<img src="images/botonMenos.png" />
  								</a>  							
  							</td>
  							
  							<td>
  								<a title="'. $this->productos[$i]->categoria .' - '. $this->productos[$i]->nombre .'">
  									<i>'. $this->productos[$i]->printNombre() .'</i>
  								</a>
  							</td>
  							
  							<td>
  								<i>$'. $this->productos[$i]->precio .'</i>
  							</td>
  							
  							<td>
  								<i>'. $this->productos[$i]->cantidad .'</i>
  							</td>
  						</tr>
  						
  						<tr>
  							<td colspan="4">
  								<div class="carritoSubTotal">
	  								<i>SubTotal: $'. $this->productos[$i]->getSubTotal() .'</i>
  								</div>
  							</td>

  						</tr>
  					';
  				}
  				
  				$contenido .='
  					</table>
  				</div>
  				
  				<div class="carritoTotal">
  					Total: $'. $this->getTotal() .'
  					
  					<div class="carritoTerminar">
  						<a href="sites.php?act=confirmarPedido" title="Realizar pedido">
  							Pedir
  						</a>
  					</div>
  				</div>
  				';
  			}
  			 			  			
  			return $contenido;
  		}
  		
  		function printCarritoCerrado($mensajeCerrado) {
  			$contenido = '
  			<script src="jquery/js/jquery-1.8.3.js"></script>
			<script src="jquery/js/jquery-ui.js"></script>
			<link rel="stylesheet" href="jquery/css/jquery-ui.css" />
			
			<script>
  				$(function() {
    				$( document ).tooltip();
  				});
  			</script>
  			
  			<!--[if gte IE 9]>
  				<style type="text/css">
    				.gradient {
       				filter: none;
    				}
  				</style>
			<![endif]-->
  			
  			<div class="headerCarrito">
  				<h3>
  					Tu pedido
  				</h3>		
  			</div>	
  			
  			<div class="celdaProducto">
  				<h4>
  					'. $mensajeCerrado .'
  				</h4>
  			</div>
  			';
  			
  			return $contenido;
  		}
  		
  		function printCarritoSinPedido() {
  			$contenido = '
  			<script src="jquery/js/jquery-1.8.3.js"></script>
			<script src="jquery/js/jquery-ui.js"></script>
			<link rel="stylesheet" href="jquery/css/jquery-ui.css" />
			
			<script>
  				$(function() {
    				$( document ).tooltip();
  				});
  			</script>
  			
  			<!--[if gte IE 9]>
  				<style type="text/css">
    				.gradient {
       				filter: none;
    				}
  				</style>
			<![endif]-->
  			
  			<div class="headerCarrito">
  				<h3>
  					Tu pedido
  				</h3>		
  			</div>	
  			
  			<div class="celdaProducto">
  				<h4>
  					Disculpe, actualmente no damos soporte a la opción de pedir online.
  				</h4>
  			</div>
  			';
  			
  			return $contenido;
  		}
  		
	}
	
	
	
	/*			CLASE PRODUCTO			*/
	class productoTemporal{
		var $productoId;
		var $nombre;
		var $precio;
		var $categoria;
		var $cantidad;
  		var $subTotal;
  		
  				
		function productoTemporal($productoId, $nombre, $precio, $categoria, $cantidad){
  			$this->productoId		= $productoId;
  			$this->nombre			= $nombre;
  			$this->precio			= $precio;
  			$this->categoria		= $categoria;
			$this->cantidad		= $cantidad;
  		}
  		
  		function printNombre(){
  			if(strlen($this->nombre) > 10){
  				$nomTemp = substr($this->nombre, 0, 8);
  				$nomTemp .= ' ..';  				 
  				return $nomTemp;
  			} else {
  				return $this->nombre;
  			}
  		}
  		
  		function getSubTotal(){
  			$this->subTotal = $this->precio * $this->cantidad;
  			return $this->subTotal;
  		}
	}
	
	

	function enLaSession(){
  		global $nombreCarrito;
  		global $objetoCarrito;
  		
  		if (isset($_SESSION[$nombreCarrito])) {
    		$result = unserialize($_SESSION[$nombreCarrito]);
    			if ($result) {
      			$objetoCarrito = $result;
    			}
  		} 

  		if (!$objetoCarrito) {
    		$objetoCarrito = new carrito();
  		}
  }
	
	function sessionar(){
  		global $nombreCarrito;
  		global $objetoCarrito;
  		
  		if (isset($_SESSION[$nombreCarrito]))
    		unset($_SESSION[$nombreCarrito]);
  			$_SESSION[$nombreCarrito] = serialize($objetoCarrito);
	}
	
	enLaSession();
		
?>